#include <stdio.h>

int main(void)
{
    int    i   = 255;
    float  f   = 3.1415926f;
    double d   = 2.718281828;
    char   c   = 'A';
    char  *str = "Hello printf!";
    void  *ptr = &i;

    /* 1) 十进制整数        */
    printf("十进制整数 %%d  : %d\n", i);

    /* 2) 无符号十进制整数  */
    printf("无符号整数 %%u  : %u\n", (unsigned)i);

    /* 3) 八进制            */
    printf("八进制 %%o  : %o\n", i);

    /* 4) 十六进制（小写）   */
    printf("十六进制（小写） %%x  : 0x%x\n", i);

    /* 5) 十六进制（大写）   */
    printf("十六进制（大写） %%X  : 0x%X\n", i);

    /* 6) 字符              */
    printf("字符 %%c  : %c\n", c);

    /* 7) 字符串            */
    printf("字符串 %%s  : %s\n", str);

    /* 8) 单精度浮点        */
    printf("单精度浮点 %%f  : %.2f\n", f);        /* 保留 2 位小数 */

    /* 9) 指数形式（小写 e） */
    printf("指数形式 %%e  : %.3e\n", d);

    /* 10) 指针地址          */
    printf("指针地址 %%p  : %p\n", ptr);

    /* 11) 打印 % 本身       */
    printf("打印 %% 本身 %%%% : %%\n");

    return 0;
}